package com.example.factory.api.facade;

import com.example.factory.api.dto.DtoLevel1Dimension;
import com.example.factory.api.dto.DtoLevel2Dimension;
import com.example.factory.api.dto.Response;
import com.example.factory.api.dto.form.DtoLevel1DimensionForm;
import com.example.factory.api.dto.form.DtoLevel2DimensionForm;

import java.util.List;

/**
 * @author Lei Tao
 */
public interface GradingRuleFacade {
    Response<List<DtoLevel1Dimension>> selectedLevel1Dimensions();

    Response<DtoLevel1Dimension> selectedLevel1Dimension(String level1Guid);

    Response<Void> deletedLevel1(String level1Guid);

    Response<DtoLevel1Dimension> saveOrUpdateLevel1Dimension(DtoLevel1DimensionForm dtoLevel1DimensionForm);

    Response<List<DtoLevel2Dimension>> selectedLevel2Dimensions(String level1Guid);

    Response<DtoLevel2Dimension> selectedLevel2Dimension(String level2Guid);

    Response<Void> deletedLevel2(String level2Guid);

    Response<DtoLevel2Dimension> saveOrUpdateLevel2Dimension(DtoLevel2DimensionForm dtoLevel2DimensionForm);
}
